package com.xs.common;

import lombok.Data;

import java.io.Serializable;

/**
 * 响应结果类
 * @param <E> 响应数据的类型
 */
@Data
public class JsonResult<E> implements Serializable {
    /** 状态码 */
    private String state;
    /** 状态描述信息 */
    private String message;
    /** 数据 */
    private E data;

    public JsonResult() {
    }

    public JsonResult(E data) {
        this.data = data;
    }

    public static JsonResult success(){
        JsonResult jsonResult = new JsonResult<>();
        jsonResult.setMessage("成功");
        jsonResult.setState("0");
        return jsonResult;
    }


    public static <E> JsonResult<E> success(E data){
        JsonResult<E> jsonResult = new JsonResult<>(data);
        jsonResult.setMessage("成功");
        jsonResult.setState("0");
        return jsonResult;
    }

    public static JsonResult success(String state,String message){
        JsonResult jsonResult = new JsonResult<>();
        jsonResult.setMessage(message);
        jsonResult.setState(state);
        return jsonResult;
    }
}
